﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace XWord.WPF.ApplicationFramework.Validations
{
    public interface IValidator : IPriority
    {
        bool Validate();

        string ErrorMessage { get; set; }

        object Property { get; set; }

        void SetErrorStyleOrTemplate();

        /// <summary>
        /// Gets or sets a value that indicates whether a control will do validate when first loaded
        /// </summary>
        bool InitializeValidate { get; set; }

        /// <summary>
        /// Gets or sets a value that indicates whether a control is valided
        /// </summary>
        bool IsValid { get; set; }

        /// <summary>
        /// Gets or sets a value that indicates whether Property Changed,the control will do validate after GapValidateSecond time
        /// </summary>
        double GapValidateSecond { get; set; }
        
    }

    public interface IPriority
    {
        int Priority { get; set; }
    }
}
